草庐IT

javascript window.open 从回调

全部标签

javascript - 浏览器后退和前进按钮不使用 history.js 的 statechange 事件调用回调方法

我使用了(https://github.com/browserstate/history.js)并且有一段这样的代码History.Adapter.bind(window,'statechange',function(){varState=History.getState();alert('InsideHistory.Adapter.bind:'+State.data.myData);});functionmanageHistory(url,data,uniqueId){varHistory=window.History;if(!History.enabled){returnfalse

javascript - 为什么在 addEventListener 回调中调用 removeEventListener?

我已经下载了一个JS入门模板。它有一个像这样的default.js文件:(当然,在仅包含元素的html页面中引用了js文件。)(function(){"usestrict";window.addEventListener("load",functionload(event){window.removeEventListener("load",load,false);init();},false);functioninit(){document.getElementById("link").addEventListener("click",showAlert,false);}functi

javascript - 将父作用域中的变量传递给回调函数

这更像是一个JavaScript闭包问题,而不是一个Firebase问题。在以下代码中,Firebase回调无法识别父作用域中的变量myArr。functionshow_fb(){varmyArr=[];varfirebase=newFirebase('https://scorching-fire-6816.firebaseio.com/');firebase.on('child_added',function(snapshot){varnewPost=snapshot.val();myArr.push(newPost.user);console.log(myArr);//works}

javascript - Node.js - 回调参数

我目前正在学习Node和JavaScript中的回调,但我对以下内容感到困惑:varrequest=require('request');request('http://www.google.com',function(error,response,body){if(!error&&response.statusCode==200){console.log(body)//ShowtheHTMLfortheGooglehomepage.}})我的问题是:请求函数如何知道回调中的每个参数/参数是什么?因为我可以用两个参数有效地调用函数回调并跳过错误?例如,该函数如何知道传递的第一个参数是响

javascript - 不使用回调方法加载谷歌地图

我的网站上有多个谷歌地图实例,现在同一页面上有两个不同的谷歌地图,发生的是第一个有效而其他的现在我知道逻辑问题让我先给你看我的代码functioninitMap(){varmyLatLng={lat:43.6222102,lng:-79.6694881};varmap=newgoogle.maps.Map(document.getElementById('map'),{zoom:15,center:myLatLng});varmarker=newgoogle.maps.Marker({position:myLatLng,map:map,});}现在我定义了一个回调方法,它总是初始化名为

javascript - 什么是 Javascript 中 window.open() 的返回类型

我正在编写代码以使用window.open()下载PDF文件。我在服务器上传递pdf文件的URL路径。window.open(url,name,"width=910,height=750,scrollbars=yes");我想检查文件下载是否成功。window.open()的返回类型是什么?我试过这样try{window.open(url,name,"width=910,height=750,scrollbars=yes");alert("success");}catch(e){alert("failer");}当我将URL更改为错误的URL时,它显示与成功相同的结果。

Javascript:构造函数中的回调

我正在尝试为一个对象编写OOjavascript,该对象具有昂贵的初始化过程,完成后会回调一个函数。问题在于调用者需要在回调例程中使用同一对象的函数,而该对象尚不存在://ctorforfooobjectfunctionfoo(callback){//doslowinitializationhere..//callbackwhendonecallback();};foo.prototype=function(){return{//doStuffmethoddoStuff:function(){alert('stuffdone');}};}();//instantiatethefooob

javascript - 当回调采用多个参数时如何 promise 一个函数

有什么方法可以在回调接受两个以上参数的情况下promisify一个函数?一个例子是node的fs.read,回调的三个参数是err、bytes和data。data参数没有传递给then函数,所以这个记录未定义:varfs=require('fs');varPromise=require('bluebird');varopen=Promise.promisify(fs.open);varread=Promise.promisify(fs.read);open('test.txt','r').then(function(fd){varbuffer=newBuffer(1024);read(

javascript - jQuery Deferred/Promises 动态数组未按正确顺序执行回调

感谢您深入了解我在这里的误解。我的要求如下:我有一个URL数组。我想同时为每个URL发出AJAX请求,并在第一个请求完成后立即调用第一个回调。然后,如果第二个请求完成,则调用该回调,依此类推。选项1:for(vari=0;i显然这行不通,因为无法保证响应将按正确顺序完成。选项2:varpromises=[];for(vari=0;i这应该可行,但缺点是它会等到所有AJAX请求完成后,才会触发任何回调。理想情况下,我应该能够在第一个回调完成后立即调用它,然后链接第二个回调以在收到该响应时执行(或者如果它已经解析则立即执行),然后是第三个,依此类推。数组长度是完全可变的,并且可以在任何给定

javascript - 设置回调数组并尝试使用数组索引作为回调中的值

当我以这种方式设置回调数组时,我在对话窗口中得到20个所有回调。我想改为获取数组中的索引。这可能吗?调用回调的函数期望回调有一个参数。我不控制回调的调用者,因为它是外部库的一部分。感谢您的帮助。for(vari=0;i 最佳答案 因为i在函数被调用时被评估,你需要在新的函数执行中限定i的值,以保留你期望的值.//returnsafunctionthatclosesaroundthe`current_i`formalparameter.varcreateFunction=function(current_i){returnfuncti